From 4db4e4f09f85c3905b01c37ad0dc4f1d59ffe2bb Mon Sep 17 00:00:00 2001 From: "mjw@wray-m-3.hpl.hp.com" Date: Thu, 10 Feb 2005 17:13:35 +0000 Subject: [PATCH] bitkeeper revision 1.1159.258.1 (420b963fGDqQqmlp_DO3u-T_klF82g) Fixes to make the vnet module compile under 2.6.10. Thanks to Brian Bruce for spotting the problem and suggesting fixes. Signed-off-by: Mike Wray --- .rootkeys | 1 + tools/vnet/00INSTALL | 31 +++++++++++++++++++++++++++++++ tools/vnet/Makefile | 6 +++--- tools/vnet/vnet-module/if_varp.h | 2 +- tools/vnet/vnet-module/varp.c | 14 +++++++------- 5 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 tools/vnet/00INSTALL diff --git a/.rootkeys b/.rootkeys index a6f49dc24c..f876ba5eec 100644 --- a/.rootkeys +++ b/.rootkeys @@ -555,6 +555,7 @@ 40fcefb3yMSrZvApO9ToIi-iQwnchA tools/sv/images/xen.png 41013a83z27rKvWIxAfUBMVZ1eDCDg tools/sv/inc/script.js 40fcefb3zGC9XNBkSwTEobCoq8YClA tools/sv/inc/style.css +420b963dK3yGNtqxRM8npGZtrCQd1g tools/vnet/00INSTALL 41a21888_WlknVWjSxb32Fo13_ujsw tools/vnet/00README 41a21888bOiOJc7blzRbe4MNJoaYTw tools/vnet/Makefile 41a21888mg2k5HeiVjlQYEtJBZT4Qg tools/vnet/doc/vnet-module.txt diff --git a/tools/vnet/00INSTALL b/tools/vnet/00INSTALL new file mode 100644 index 0000000000..1c76986d83 --- /dev/null +++ b/tools/vnet/00INSTALL @@ -0,0 +1,31 @@ + +To compile and install run "make install"; if it fails or you need to reinstall +run "make clean" first or the build will fail, at least that is what I have +found under 2.6.10. + +Other important items: +1) You will need to have your xen0 kernel compiled with HMAC_SUPPORT + 2.6.x = (MAIN MENU: Cryptographic Options -> HMAC Support) + BEFORE running "make install". + +2) You will want at least some of the other alogorithms listed under + "Cryptographic Options" for the kernel compiled as modules. + +3) You will want the networking IPsec/VLAN options compiled in as modules + 2.6.x = (MAIN MENU: Device Drivers -> Networking Support -> + Networking Options -> + IP: AH transformation + IP: ESP transformation + IP: IPComp transformation + IP: tunnel transformation + + IPsec user configuration interface + + 802.1Q VLAN Support + +4) The module (vnet_module) will not properly load from the command line + with a "modprobe vnet_module". Use network-vnet to properly configure + your system and load the module for you. + +Please refer to the additional documentation found in tools/vnet/doc for +proper syntax and config file parameters. diff --git a/tools/vnet/Makefile b/tools/vnet/Makefile index 63939dff9d..76d2abae05 100644 --- a/tools/vnet/Makefile +++ b/tools/vnet/Makefile @@ -20,10 +20,10 @@ gc: gc.tar.gz tar xfz gc.tar.gz ln -sf gc?.? gc -gc/Makefile: - (cd gc && ./configure --prefix=`pwd`/install) +gc/.configure-makefile: + (cd gc && ./configure --prefix=`pwd`/install && touch .configure-makefile) -gc-install: gc gc/Makefile +gc-install: gc gc/.configure-makefile make -C gc make -C gc install diff --git a/tools/vnet/vnet-module/if_varp.h b/tools/vnet/vnet-module/if_varp.h index 49058471db..a9a7438a7e 100644 --- a/tools/vnet/vnet-module/if_varp.h +++ b/tools/vnet/vnet-module/if_varp.h @@ -36,7 +36,7 @@ typedef struct VnetMsgHdr { } __attribute__((packed)) VnetMsgHdr; typedef struct VarpHdr { - VnetMsgHdr; + VnetMsgHdr hdr; uint32_t vnet; Vmac vmac; uint32_t addr; diff --git a/tools/vnet/vnet-module/varp.c b/tools/vnet/vnet-module/varp.c index 3b1507e045..1e44a915b7 100644 --- a/tools/vnet/vnet-module/varp.c +++ b/tools/vnet/vnet-module/varp.c @@ -368,8 +368,8 @@ int varp_send(u16 opcode, struct net_device *dev, struct sk_buff *skbin, // Varp header. varph = (void*)skb_put(skbout, varp_n); *varph = (VarpHdr){}; - varph->id = htons(VARP_ID); - varph->opcode = htons(opcode); + varph->hdr.id = htons(VARP_ID); + varph->hdr.opcode = htons(opcode); varph->vnet = htonl(vnet); varph->vmac = *vmac; varph->addr = saddr; @@ -1076,9 +1076,9 @@ int varp_handle_message(struct sk_buff *skb){ goto exit; } mine = 1; - if(varph->id != htons(VARP_ID)){ + if(varph->hdr.id != htons(VARP_ID)){ // It's not varp at all - ignore it. - wprintf("> Unknown id: %d \n", ntohs(varph->id)); + wprintf("> Unknown id: %d \n", ntohs(varph->hdr.id)); goto exit; } if(1){ @@ -1086,13 +1086,13 @@ int varp_handle_message(struct sk_buff *skb){ NIPQUAD(skb->nh.iph->saddr), NIPQUAD(skb->nh.iph->daddr)); dprintf("> sport=%u dport=%u\n", ntohs(skb->h.uh->source), ntohs(skb->h.uh->dest)); dprintf("> opcode=%d vnet=%u vmac=" MACFMT " addr=" IPFMT "\n", - ntohs(varph->opcode), + ntohs(varph->hdr.opcode), ntohl(varph->vnet), MAC6TUPLE(varph->vmac.mac), NIPQUAD(varph->addr)); varp_dprint(); } - switch(ntohs(varph->opcode)){ + switch(ntohs(varph->hdr.opcode)){ case VARP_OP_REQUEST: err = varp_handle_request(skb, varph); break; @@ -1100,7 +1100,7 @@ int varp_handle_message(struct sk_buff *skb){ err = varp_handle_announce(skb, varph); break; default: - wprintf("> Unknown opcode: %d \n", ntohs(varph->opcode)); + wprintf("> Unknown opcode: %d \n", ntohs(varph->hdr.opcode)); break; } exit: -- 2.30.2